package com.itheima.dao;

import com.itheima.pojo.Menu;
import com.itheima.pojo.Menu2;
import com.itheima.pojo.Permission;
import com.itheima.pojo.Role;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @version V1.0
 * @author: TXT
 * @date: 2020/2/12 10:01
 * @description:
 */
public interface ManagerRoleMapper {

    List<Role> findAll();

    List<Permission> findAllPermission();

    List<Menu> findAllMenu();

    List<Integer> findMenuIdsByRoleId(@Param("id") Integer id);

    List<Integer> findPermIdsByRoleId(@Param("id") Integer id);

    List<Menu2> getMenusByParentId(@Param("id") int id);

    void addRole(Role role);

    void addMenu(@Param("id") Integer id, @Param("menus") List<Integer> menus);

    void addPerm(@Param("id") Integer id, @Param("permIds") List<Integer> permIds);

    void editRole(Role role);

    void deleteMenuByRoleId(Integer id);

    void addMenuIdsAndRoleId(Role role);

    void deletePermByRoleId(Integer id);

    void addPermIdsAndRoleId(Role id);

    Role findRoleById(Integer id);

    void deletaRoleById(@Param("id") Integer id);

    List<Integer> findUserRoleById(Integer id);
}
